import hashlib
import requests


def make_md5(text):
    """
    Md5加密 只能加密字符串
    :param text:  需要加密的内容，必须是个字符串
    :return:
    """
    m = hashlib.md5()  # 创建一个 md5加密工具
    m.update(str(text).encode(encoding='utf-8'))
    resd = m.hexdigest()  # 生成加密后的内容
    return resd


# 登录接口
s = requests.session()
url = 'http://114.132.200.42:3456/user/login'
data = {
    "username": "admin123",
    "password": make_md5('admin123'),
    "checkcode": "1234"
}
res = s.post(url=url, data=data)
a = res.json()
print(res.status_code)
print(res.json())
get_userid = a['userId']
get_usertoken = a['userToken']


# 创建任务接口
creat_url = 'http://114.132.200.42:3456/task/info'
creat_data = {"title": "hahahahah"}
# 头部信息 同样也以字典的形式存储
db = {'userId': get_userid, 'userToken': get_usertoken}
creat_res = s.post(url=creat_url, data=creat_data, headers=db)  # headers 参数 表示头部信息
print(creat_res.json())


# 查询任务接口
query_data = {"status": "0"}
query_res = s.get(url=creat_url, params=query_data, headers=db)  # params参数 用来传输 get请求
print(query_res.json())


# 上传文件
img_Url = 'http://114.132.200.42:3456/user/uploal_action'
# ('参数名', ('文件名',open('文件路径','rb') ) )
my_img = [
    ('pic', ('gtl.png', open('gtl.png', 'rb')))
]
res = s.post(url=img_Url, files=my_img, headers=db)  # 关于文件上传的接口 files 表示
print(res.json())
